Cyclic prefix schemes

ABSTRACT

Methods and systems are proposed for transmitting data from a source ( 110 ) to a destination ( 130 ) via a relay station ( 120 ) having multiple antennae ( 122, 124 ). The relay station ( 120 ) receives from the source a message containing the data and a first cyclic prefix. It does this using each of its antennae ( 122, 124 ), so producing multiple respective received signals. In certain embodiments, the relay station ( 120 ) removes the first cyclic prefix from the received signals, replacing it with a new one. In other embodiments, the relay station ( 120 ) removes only a portion of the first cyclic prefix. In either case, the relay station ( 120 ) may apply space-time coding to generate second signals, which it transmits to the destination ( 130 ), which extracts the data. Methods are also proposed for estimating parameters of the channel, to enable the destination ( 130 ) to decode the data.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is one of two patent applications claiming priority from US provisional patent application no 61/089,617. The present patent application relates to the usage of cyclic prefixes, whereas the other patent application relates to techniques for space-time coding. The techniques described in the respective two patent applications are independent since either can be used without the other, although it is equally possible to construct systems which combine techniques from the respective two patent applications.

FIELD OF THE INVENTION

This invention relates to methods and systems for implementing cyclic prefixes in a wireless communication channel comprising a relay station capable of performing information coding, particularly but not exclusively, analog space-time coding.

BACKGROUND OF THE INVENTION

Wireless relays have shown potential for extending communication range and providing good quality of experience. In a typical wireless communication system utilizing relays, the relay station would be time shared between different sources and destination. In such a scenario, the relay station needs to estimate the Angular Carrier Frequency Offset (ACFO) present between each pair of source and relay antennae (denoted ACFO φ_(r)). The ACFO that is present between each pair of relay and destination antennae (denoted ACFO φ_(d)) will be compensated for at the destination.

Joint compensation of the source to relay and relay to destination ACM is not possible in the prior art. Compensation for the source to relay ACFO φ_(r) can thus only be performed at the relay station. The relay station of the prior art will need to estimate and compensate the ACFO for each source-and-relay pair and this complicates the relay station hardware and increases the power required by the relay station.

Implementations of analog space-time coding (ASTC) in the prior art also have the limitation that the transmission channel has to be flat fading. This is because inter-symbol interference (ISI) results when the transmission channel has frequency selective fading. The insertion of a cyclic prefix (CP) can be used to mitigate against ISI. The cyclic prefix inserted should preferably be of a length greater than that of the channel impulse response (CIR).

Typical implementations of ASTC also require that the samples within a signal be reordered when performing the coding.

It is an object of the present invention to provide a method for implementing cyclic prefixes and compensating for the channel effects of a wireless communication channel, which addresses at least one of the problems of the prior art and/or to provide the public with a useful choice.

SUMMARY OF THE INVENTION

In general terms, the present invention relates to transmitting data though a wireless communication channel from a source to a destination via a relay station having multiple antennae. The relay station receives a message from the source containing the data and a first cyclic prefix. It does this using each of its antennae, so producing multiple respective received signals. In a first aspect of the invention, the relay station removes the first cyclic prefix from the received signals, replacing it with a new one. In a second aspect of the invention, the relay station removes only a portion of the first cyclic prefix. In either case, the relay station may apply space-time coding to generate second signals, which it transmits to the destination, which extracts the data. A further aspect of the invention relates to estimating parameters of the channel, to enable the destination to decode the data.

The invention may be expressed alternatively as an integrated circuit configured to enable the above mentioned aspects of the invention.

The cyclic prefix schemes of the present invention do not require that the transmission channels be flat fading.

BRIEF DESCRIPTION OF THE DRAWINGS

By way of example only, embodiments will be described with reference to the accompanying drawings, in which:

FIG. 1 is a schematic drawing of a communication channel having a source station S, relay station R and destination station D, according to an embodiment of the invention;

FIG. 2 is a flow diagram of a scheme for inserting cyclic prefixes according to a Cyclic Prefix Scheme 1 of the example embodiment;

FIG. 3 is a flow diagram of a scheme for inserting cyclic prefixes according to a Cyclic Prefix Scheme 2 of the example embodiment;

FIG. 4 is a flow diagram of a method for performing channel estimation according to the example embodiment;

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows a communication channel according to an example embodiment. This channel consists of a source station/node 110 (S), a relay station 120 (R) and a destination station/node 130 (D). The source and the destination each have only one antenna, and the relay station 120 has two antennae 122,124. The antennae at the source station/node 110, the relay station 120 and the destination station/node 130 can be configured to both transmit and receive. The source 110 sends signals to the relay station 120, and the relay station 120 sends signals to the destination 130. The signals sent from the source 110 to the relay station 120, and from the relay station 120 to the destination 130 may comprise multiple orthogonal carrier frequencies, such as in the case where OFDM modulation is used.

The present embodiment includes only one relay station 120. An ASTC relaying scheme is applied using orthogonal frequency division multiplexing (OFDM) modulation at the source 110. ASTC encoding is applied to individual carriers over two consecutive OFDM symbol periods. The relay station 120 receives the OFDM signal using the two antennae 122, 124. It does simple analog processing (such as the sampling and storage of discrete time signals) of the received signal and performs coding. This coding can for example be 2×2 Alamouti coding. The coded signal is then transmitted to the destination node/station 130.

To avoid interference, the data transmission from the source node/station 110 to destination node/station 130 takes place over two phases. The transmission cycle thus consists of two phases. In the first phase, the source node/station 110 to relay station 120 link is activated and the destination node/station 130 remains silent. In the second phase, the relay station 120 to destination node/station 130 link is activated and the source node/station 110 remains silent.

Simulations of the present embodiment were conducted using 16 carriers in each OFDM symbol. This however does not limit the number of carriers to 16 and a skilled reader will understand that the number of carriers can be varied.

Alternative embodiments may also apply the ASTC relaying schemes to single-carrier cyclic prefix (SC-CP) systems where the ASTC encoding is also applied to individual symbols over two consecutive SC-CP blocks.

Alternative embodiments may also have more than two antennae at the relay station 120, in which case antenna selection can be adopted. Only two antennas are selected to implement the proposed schemes based on pre-defined selection criteria, e.g., best product channel SNR, etc.

Alternative embodiments may also have multiple relay stations where relay selection can be performed in which one relay station is selected to implement the proposed schemes based on a pre-determined selection criteria, e.g., best product channel SNR, etc.

Alternative embodiments may also have multiple relay stations where Coordinated Delay ASTC is implemented at each relay station, and the coordinated delays are applied at different relay station. In this case, the delay durations applied at the different relay station is a design parameter obtained from a central control. This embodiment may have the advantage that the carrier frequencies do not have to be orthogonal and thus signal collisions will not occur.

Alternative embodiments may also have only one antenna at the relay station 120. In this case, a solution is to implement cooperation using at least two relay sub-stations, where each relay sub-station is a relay station capable of performing information passing with other relay sub-stations. Information passing is implemented between the at least two relay sub-stations and the at least two relay sub-stations can then participate in the ASTC transmission.

Angular Carrier Frequency Offset (ACFO)

Let the number of carriers be N. The source 110 to relay station 120 and relay station 120 to destination 130 channels are assumed to be frequency selective multipath fading channels. Let the vectors h_(S,1) and h_(S,2) respectively denote the channel impulse response (CIR) from the source 110 to the first and second antennae 122, 124 of the relay station 120. h_(S,1) and h_(S,2) both have the size of (L₁×1). Similarly, let the vectors h_(1,D) and h_(2,D) respectively denote the CTR from the first and second antennae 122, 124 of the relay station 120 to the destination 130. h_(1,D) and h_(2,D) both have the size of (L₂×1). Let f₀, f_(r) and f_(d) be the carrier frequency of the local oscillators at the source 110, relay station 120 and destination 130, respectively. Then Δf_(r)=f₀−f_(r) and Δf_(d)=f₀−f_(d) respectively denote the CFO at the relay 120 and destination 130. The source 110, relay station 120 and destination 130 can have independent local oscillators and thus their oscillating frequency need not be the same. This results in independent CFOs in the signal received at relay station 120 and the destination 130 i.e. Δf_(r)#Δf_(d).

The angular CFO (ACFO) is defined as

$\varphi_{r} = {\frac{2\pi}{N}\left( {\Delta \; f_{r}} \right)T}$ ${\varphi_{d} = {\frac{2\pi}{N}\left( {\Delta \; f_{d}} \right)T}},$

where φ_(r) denotes the ACFO that is present at the channels between the source 110 and either antenna 122, 124 of the relay station 120, and φ_(d) denotes the ACFO that is present at the channels between either antenna 122, 124 of the relay station 120 and the destination 130. T denotes the OFDM symbol duration. Scalars ε_(r)=(Δf_(r))T and ε_(d)=(Δf_(d))T are referred to as normalized CFOs and their magnitudes are bounded by |ε_(r)|≦0.5 and |ε_(d)|≦0.5.

The ACFO φ_(r) and/or φ_(d) can be estimated during channel estimation and are used to perform compensation either at the relay station 120, or at the destination 130.

Joint ACFO compensation can also be performed at the destination 130, in which case no ACFO compensation needs to be done at the relay station 120. What this means is that compensation for (φ_(r)+φ_(d)) is done at the destination 130.

If the CFOs present in the signal received at the relay station 120 and destination 130 are not properly compensated, then the gains due to the relaying and usage of OFDM modulation cannot be realized.

Joint ACFO compensation when done at the destination 130 is advantageous as it keeps the relay carrier frequency unaffected for any source-and-destination pair.

Joint ACFO compensation when done at the destination 130 is also advantageous as it simplifies the implementation of the relay station 120 and reduces the computational complexity at the relay station 120.

Cyclic Prefix Schemes with Carrier Frequency Offset (CFO) Compensation

The embodiment employs two cyclic prefix schemes which are described below with their associated methods of performing carrier frequency offset (CFO) compensation. The Cyclic Prefix Schemes 1 and 2 of the present invention permits the implementation of space—time codes with minimum signal processing complexity at the relay station.

It is understood that the term “CP Scheme 1” is also used in this document to refer to the Cyclic Prefix Scheme 1 and “CP Scheme 2” is also used to refer to the Cyclic Prefix Scheme 2.

Cyclic Prefix Scheme 1

FIG. 2 shows a scheme for inserting cyclic prefixes according to the example embodiment. Let x_(j) be a (N×1) vector containing the N data symbols to be transmitted during a j-th OFDM symbol duration.

While this example embodiment of the invention has been described using 2 OFDM symbols i.e. x_(2n) and x_(2n+1), it is clear that the use of a different number of OFDM symbols is possible within the scope of the invention, as will be clear to a skilled reader.

In step 202, the source derives a first cyclic prefix (denoted CP_(j,1)) with length P₁=L₁−1 from x_(j). L₁ is the length of the channel impulse response (CIR) represented by h_(S,1) and h_(S,2) respectively for the channel between the source and the first antenna of the relay station, and the channel between the source and the second antenna of the relay station.

In step 204, the source inserts CP_(j,1) in front of x_(j) and then transmits the resultant symbol sequence.

Let the symbol sequence x_(j) consisting of N symbols be denoted by x_(n) where n=0 . . . N−1, i.e.

x _(j) =[x ₀ . . . x _(n) . . . x _(N−1)]

The cyclic prefix CP_(j,1) of length P₁ is created by copying the last P₁ symbols of x_(j)

CP _(j,1) =└x _(N−P) ₁ . . . x _(N−2) x _(N−1)┘

The cyclic prefix CP_(j,1) is inserted in front of x_(j), producing the resultant symbol sequence └CP_(j,1) x_(j)┘ for transmission.

The transmission from the source to relay station takes place in the first phase of the transmission cycle.

In step 206, the relay station receives └CP_(j,1) x_(j)┘ at both antennae of the station.

In step 208, after performing time synchronization, the CP_(j,1) portion of length P₁ in each OFDM symbol is removed leaving x_(j). Should ACFO be present, the signal vectors received over the span of 2 OFDM symbol durations i.e. for j={2n, 2n+1} are given after the removal of CP_(j,1) as

$\begin{bmatrix} r_{R,1,{2n}} & r_{R,1,{{2n} + 1}} \\ r_{R,2,{2n}} & r_{R,2,{{2n} + 1}} \end{bmatrix} = {\quad{\begin{bmatrix} {^{{j{({{2{n{({N + P_{1}})}}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,1}W_{N}^{H}x_{2n}} & {^{{j{({{{({{2n} + 1})}{({N + P_{1}})}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,1}W_{N}^{H}x_{{2n} + 1}} \\ {^{{j{({{2{n{({N + P_{1}})}}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,2}W_{N}^{H}x_{2n}} & {^{{j{({{{({{2n} + 1})}{({N + P_{1}})}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,2}W_{N}^{H}x_{{2n} + 1}} \end{bmatrix} + {\quad\begin{bmatrix} v_{R,1,{2n}} & v_{R,1,{{2n} + 1}} \\ v_{R,2,{2n}} & v_{R,2,{{2n} + 1}} \end{bmatrix}}}}$

r_(R,i,j) denotes the received signal vector obtained after the removal of CP_(j,1), with i and j respectively denoting the antenna index and OFDM symbol duration. r_(R,i,j) has the size of (N×1). n denotes the data transmission cycle index. The (N×N) matrix W_(N) ^(H) is the inverse discrete Fourier transform (IDFT) matrix. The first column vector of the (N×N) circulant matrices H_(S,1) and H_(S,2) are [h_(S,1) ^(T), 0_(1×(N-L))]^(T) and [h_(S,2) ^(T), 0_(1×(N-L))]^(T), respectively.

Vector v_(R,i,j) contains N samples of additive white Gaussian noise (AWGN) that distorts the signal received by the i-th relay antenna during j-th OFDM symbol duration. If 2d OFDM symbols are transmitted in each cycle with d being an integer value, then the matrix

$V = \begin{bmatrix} v_{R,1,{2\; n}} & v_{R,1,{{2\; n} + 1}} \\ v_{R,2,{2\; n}} & v_{R,2,{{2\; n} + 1}} \end{bmatrix}$

will be of dimension (2N×2d) with OFDM symbol indexes of 2dn, 2dn+1, 2dn+2, . . . , 2dn+2d−1.

It is assumed that the covariance of v_(R,i,j),

E[v _(R,i,j) v _(R,i,j) ^(H)]=σ_(R) ² I _(N) for i=1,2 and j=2n,2n+1 for d>1.

Optionally, in the event that ACFO is present, compensation of ACFO φ_(r) can be performed at the relay station as step 230.

Assuming the complete removal of ACFO or if ACFO was absent, over the span of 2 OFDM symbol durations i.e. for j={2n, 2n+1}, the received signal vectors obtained after the removal of CP_(j,1) at the relay are given as follows:

${\begin{bmatrix} r_{R,1,{2\; n}} & r_{R,1,{{2\; n} + 1}} \\ r_{R,2,{2\; n}} & r_{R,2,{{2\; n} + 1}} \end{bmatrix} = {\begin{bmatrix} {H_{S,1}W_{N}^{H}x_{2\; n}} & {H_{S,1}W_{N}^{H}x_{{2\; n} + 1}} \\ {H_{S,2}W_{N}^{H}x_{2\; n}} & {H_{S,2}W_{N}^{H}x_{{2\; n} + 1}} \end{bmatrix} + \begin{bmatrix} v_{R,1,{2\; n}} & v_{R,1,{{2\; n} + 1}} \\ v_{R,2,{2\; n}} & v_{R,2,{{2\; n} + 1}} \end{bmatrix}}},$

Step 209 is then performed at the relay station. In step 209, Simple processing is performed in order to implement space-time coding at the carrier level. The matrix Y_(R) is computed and arranged:

$Y_{R} = {\left\lbrack y_{{ij},R} \right\rbrack = {\begin{bmatrix} y_{11,R} & y_{12,R} \\ y_{21,R} & y_{22,R} \end{bmatrix} = \begin{bmatrix} r_{R,1,{2\; n}} & r_{R,1,{{2\; n} + 1}} \\ {\zeta \left( r_{R,2,{{2\; n} + 1}}^{*} \right)} & {- {\zeta \left( r_{R,2,{2\; n}}^{*} \right)}} \end{bmatrix}}}$

The space-time code implemented can for example be the Alamouti code.

Given that

H _(S,i) W _(N) ^(H) x _(j) =W _(N) ^(H)Λ_(S,i) x _(j) for j=2n,2n+1 and i=1,2,

where Λ_(S,i) is a (N×N) sized diagonal matrix whose diagonal elements are given by the N-point DFT of CIR h_(S,i) for i=1, 2, i.e., Λ_(S,i)=√{square root over (N)}diag (W_(N)[h_(S,i) ^(T), 0_(1×(N-L) _(i) ₎]^(T)), it can be shown that

$\begin{matrix} {Y_{R} = \begin{bmatrix} r_{R,1,{2\; n}} & r_{R,1,{{2\; n} + 1}} \\ {\zeta \left( r_{R,2,{{2\; n} + 1}}^{*} \right)} & {- {\zeta \left( r_{R,2,{2\; n}}^{*} \right)}} \end{bmatrix}} \\ {= {{\frac{1}{\sqrt{2}}\begin{bmatrix} {W_{N}^{H}\Lambda_{S,1}x_{2\; n}} & {W_{N}^{H}\Lambda_{S,1}x_{{2\; n} + 1}} \\ {W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\mspace{11mu} \Lambda_{S,2}^{*}x_{{2\; n} + 1}^{*}} & {{- W_{N}^{H}}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,2}^{*}x_{2\; n}^{*}} \end{bmatrix}} +}} \\ {{{\overset{\sim}{V}}_{{R,n}\;},}} \end{matrix}$

where the (2N×2N) sized matrix {tilde over (V)}_(R,n) is given by

${\overset{\sim}{V}}_{R,n} = {\begin{bmatrix} v_{v,1,{2\; n}} & v_{R,1,{{2\; n} + 1}} \\ {\zeta \left( v_{R,2,{{2\; n} + 1}}^{*} \right)} & {- {\zeta \left( v_{R,2,{2\; n}}^{*} \right)}} \end{bmatrix}.}$

Step 209 further comprises steps 210 and 212.

In step 210, for those elements of Y_(R) where no signal conjugation is needed e.g.: for y_(11,R) and y_(12,R), nothing needs to be done.

In step 212, for those elements of Y_(R) where signal conjugation is needed e.g.: for y_(21,R) and y_(22,R), the OFDM symbol sequence is reordered using a mapping function ζ(.):

ζ(a)=[a(N−1),a(N−2), . . . ,a(0)]^(T),

the (N×1) sized input vector a=[a(0), a(1), . . . , a(N−1)]^(T). This function can be easily implemented in hardware by storing the signal samples in a shift register and then reading the register in reverse order. This represents a significant advantage because reordering operations that are more complex than mere reversal, such as the insertion, deletions and swapping of signal samples do not have to be done.

It can be shown that

$\begin{matrix} \begin{matrix} {{\zeta \left( \left\lbrack {H_{S,i}W_{N}^{H}x_{j}} \right\rbrack^{*} \right)} = {\zeta \left( {H_{S,i}^{*}\left( {W_{N}^{H}x_{j}} \right)}^{*} \right)}} \\ {= {{\zeta \left( H_{S,i}^{*} \right)}\left( {W_{N}^{H}x_{j}} \right)^{*}}} \\ {= {W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,i}^{*}{TW}_{N}W_{N}^{H}{Tx}_{j}^{*}}} \\ {= {W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,i}^{*}{TTx}_{j}^{*}}} \\ {= {W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,i}^{*}x_{j}^{*}}} \end{matrix} & \; \\ {{{{{for}\mspace{14mu} j} = {2\; n}},{{{2\; n} + {1\mspace{14mu} {and}\mspace{14mu} i}} = 1},2,}} & \; \end{matrix}$

where matrix Z_(N)(φ) denotes a (N×N) diagonal matrix given by

Z _(N)(φ)=diag([1,e ^(jφ) ,e ^(j2φ) , . . . ,e ^(j(N-1)φ)]^(T)),

and T is a (N×N) permutation matrix such that

T=[ζ(I _(N))]⁽¹⁾ and TT=I _(N).

I_(N) is an identity matrix of size N. The operator [•]* represents a complex conjugation.

The notation [a]^((l)) denotes the circular shifting of vector a by l elements, where

[a] ⁽²⁾ =[a(N−2),a(N−1),a(0),a(1), . . . ,a(N−3)]^(T).

For a given matrix X, matrix [X]^((l)) is obtained by circular shifting each column vector of X by l elements.

In step 213, a second cyclic prefix (denoted CP_(ij,2)) with length P₂ where P₂=L₂−1 is obtained for each y_(ij,R). L₂ is the length of the CIRs denoted by the vectors h_(1,D) and h_(2,D) respectively for the channel between the first antenna of the relay station and the destination, and the channel between the second antenna of the relay station and the destination. Each of the cyclic prefixes CP_(ij,2) is derived from the corresponding y_(ij,R).

The cyclic prefixes CP_(ij,2) are then inserted in front of y_(ij,R) to produce the symbol sequences └CP_(ij,2) y_(ij,R)┘. It is to be noted that y_(ij,R) is a (N×1) sized vector.

In step 214, the other necessary steps for the ASTC implementation at the relay station are performed. The symbol sequences └CP_(ij,2) y_(ij,R)┘ are then transmitted by the i-th relay antenna during the j-th OFDM symbol duration, where i=1, 2 and j={2n, 2n+1}. The transmission from the relay station to destination takes place in the second phase of the transmission cycle where the source remains silent.

In step 216, after frame synchronization, the destination removes the cyclic prefix of length P₂ from each OFDM symbol received. The OFDM symbol with the cyclic prefix removed can be denoted by the (N×1) signal vector r_(D,j) for each j-th OFDM symbol duration.

Assuming that ACFO is present and ACFO compensation was done at the relay, for the j={2n, 2n+1}-th OFDM symbol duration, the (N×1) received signal vectors at the destination in the presence of ACFO φ_(d) are given by

$\begin{matrix} {r_{D,{2\; n}} = {\frac{^{{j{({{2\; {n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{Z_{N}\left( \varphi_{d} \right)}{\quad{{{\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{2\; n}} + {H_{2,D}{\zeta \left( H_{S,2}^{*} \right)}W_{N\;}^{H}{Tx}_{{2\; n} + 1}^{*}}} \right\rbrack + {p_{D,{2\; n}}r_{D,{{2\; n} + 1}}}} = {{\frac{^{{j{({{{({{2\; n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{{2\; n} + 1}} - {H_{2,D}{\zeta \left( H_{S,2}^{*} \right)}W_{N}^{H}{Tx}_{2\; n}^{*}}} \right\rbrack}} + p_{D,{{2\; n} + 1}}}},}}}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 1} \end{matrix}$

where the noise vectors are given by

$p_{D,{2\; n}} = {{\frac{^{{j{({{2\; {n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}v_{R,1,{2\; n}}} + {H_{2,D}{\zeta\left( v_{R,2,{{2\; n} + 1}}^{*} \right\}}}} \right\rbrack}} + v_{D,{2\; n}}}$ $p_{D,{{2\; n} + 1}} = {{\frac{^{{j{({{{({{2\; n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}v_{R,1,{{2\; n} + 1}}} - {H_{2,D}{\zeta \left( v_{R,2,{2\; n}}^{*} \right)}}} \right\rbrack}} + {v_{D,{{2\; n} + 1}}.}}$

Optionally, ACFO φ_(d) compensation can be performed at the destination as step 240.

Assuming that ACFO is present and no ACFO compensation was done at the relay, for the j={2n, 2n+1}-th OFDM symbol duration,

$r_{D,{2\; n}} = {^{{j{({{2\; {n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}{Z_{N}\left( \varphi_{d} \right)}{\quad{{\left\lbrack {{^{{j{({{2\; {n{({N + P_{1}})}}} + P_{1}})}}\varphi_{r}}H_{1,D}{Z_{N}\left( \varphi_{r} \right)}W_{N}^{H}\Lambda_{S,1}x_{2\; n}} + {^{{- {j{({{{({{2\; n} + 1})}{({N + P_{1}})}} + P_{1} + N - 1})}}}\varphi_{r}}H_{2,D}{Z_{N}\left( \varphi_{r} \right)}W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,2}^{*}x_{{2\; n} + 1}^{*}}} \right\rbrack + {p_{D,{2\; n}}r_{D,{{2\; n} + 1}}}} = {{^{{j{({{{({{2\; n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{^{{j{({{{({{2\; n} + 1})}{({N + P_{1}})}} + P_{1}})}}\varphi_{r}}H_{1,D}{Z_{N}\left( \varphi_{r} \right)}W_{N}^{H}\Lambda_{S,1}x_{{2\; n} + 1}} - {^{{- {j{({{2\; {n{({N + P_{1}})}}} + P_{1} + N - 1})}}}\varphi_{r}}H_{2,D}{Z_{N}\left( \varphi_{r} \right)}W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,2}^{*}x_{2\; n}^{*}}} \right\rbrack}} + {p_{D,{{2\; n} + 1}}.}}}}}$

H_(1,D) and H_(2,D) are (N×N) circulant matrices respectively with [h_(1,D) ^(T), 0_(1×(N-L))]^(T) and [h_(2,D) ^(T), 0_(1×(N-L))]^(T) as their first column vectors. The (N×1) vector p_(D,2n) represent additive noise.

Assuming that ACFO compensation was performed, or if ACFO is absent, for the j=(2n)-th OFDM symbol duration

${r_{D,{2\; n}} = {{H_{1,D}W_{N}^{H}\Lambda_{S,1}x_{2\; n}} + {H_{2,D}W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,2}^{*}x_{{2\; n} + 1}^{*}} + p_{D,{2\; n}}}},$

The (N×1) vector p_(D,2n) representing the additive noise is given by

P _(D,2n) =H _(1,D) v _(R,1,2n) +H _(2,D)ζ(v _(R,2,2n+1)*)+v _(D,2n),

where the (N×1) vector v_(D,2n) contains the N samples of AWGN at destination with covariance matrix

E[v_(D, 2 n)v_(D, 2 n)^(H)] = σ_(D)²I_(N).

Similarly, for the j=(2n+1)-th OFDM symbol duration,

$r_{D,{{2\; n} + 1}} = {{H_{1,D}W_{N}^{H}\Lambda_{S,1}x_{{2\; n} + 1}} - {H_{2,D}W_{N}^{H}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,2}^{*}x_{2\; n}^{*}} + p_{D,{{2\; n} + 1}}}$ p_(D, 2 n + 1) = H_(1, D)v_(R, 1, 2 n + 1) − H_(2, D)ζ(v_(R, 2, 2 n)^(*)) + v_(D, 2 n + 1).

In step 218, the destination performs ASTC decoding in the frequency domain using the channel state information (CSI) parameters that were obtained during training. N-point DFTs are performed on the signal vector r_(D,j) for the symbol durations j={2n, 2n+1}. Assuming that ACFO is absent, the N-point DFT of r_(D,2n) is

${W_{N}r_{D,{2\; n}}} = {{\Lambda_{1,D}\Lambda_{S,1}x_{2\; n}} + {\Lambda_{2,D}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,2}^{*}x_{{2\; n} + 1}^{*}} + {W_{N}{p_{D,{2\; n}}.}}}$

Similarly, the N-point DFT of the signal vector received by the destination during the (2n+1)-th OFDM symbol duration (i.e. r_(D,2n+1)) is given by

${W_{N}r_{D,{{2\; n} + 1}}} = {{\Lambda_{1,D}\Lambda_{S,1}x_{{2\; n} + 1}} - {\Lambda_{2,D}{Z_{N}\left( \frac{2\; \pi}{N} \right)}\Lambda_{S,2}^{*}x_{2\; n}^{*}} + {W_{N}p_{D,{{2\; n} + 1}}}}$

A (2N×1) vector y_(D,n) is constructed as

$\begin{matrix} {y_{D,n} = \left\lbrack {\left( {W_{N}r_{D,{2\; n}}} \right)^{T},\left( {W_{N}r_{D,{{2\; n} + 1}}} \right)^{H}} \right\rbrack^{T}} \\ {{= {{H_{P}\begin{bmatrix} x_{2\; n} \\ x_{{2\; n} + 1}^{*} \end{bmatrix}} + \begin{bmatrix} {W_{N}p_{D,{2\; n}}} \\ \left( {W_{N}p_{D,{{2\; n} + 1}}} \right)^{*} \end{bmatrix}}},} \end{matrix}$

Estimates of x_(2n) and x_(2n+1) (denoted {tilde over (x)}_(2n) and {tilde over (x)}_(2n+1)) can be obtained-using the conjugate transpose of H_(P) i.e. H_(P) ^(H)

$\begin{matrix} {\begin{bmatrix} {\overset{\sim}{x}}_{2n} \\ {\overset{\sim}{x}}_{{2n} + 1}^{*} \end{bmatrix} = {H_{P}^{H}y_{D,n}}} \\ {= {{H_{P}^{H}\begin{bmatrix} {W_{N}r_{D,{2n}}} \\ \left( {W_{N}r_{D,{{2n} + 1}}} \right)^{*} \end{bmatrix}}.}} \end{matrix}$

H_(P) is the (2N×2N) sized product channel matrix and is given by

$H_{P} = {\begin{bmatrix} {\Lambda_{1,D}\Lambda_{S,1}} & {{Z_{N}\left( \frac{2\pi}{N} \right)}\Lambda_{2,D}\Lambda_{S,2}^{*}} \\ {{- {Z_{N}\left( {- \frac{2\pi}{N}} \right)}}\Lambda_{2,D}^{*}\Lambda_{S,2}} & {\Lambda_{1,D}^{*}\Lambda_{S,\; 1}^{*}} \end{bmatrix}.}$

The product channel matrix H_(P) is a known parameter obtained during the product channel matrix estimation and forms part of the channel state information (CSI). H_(P) allows for a simple linear decoding at destination, since

H _(P) ^(H) H _(P) =I ₂

(|Λ_(1,D)|²|Λ_(S,1)|²+|Λ_(2,D)|²|Λ_(S,2)|²).

where

denotes performing a Kronecker product.

In step 230, the relay station optionally performs ACFO φ_(r) compensation. The signal vectors r_(R,i,j) received over the span of 2 OFDM symbol durations j={2n, 2n+1} for antennae i=1, 2 are:

$\begin{bmatrix} r_{R,1,{2n}} & r_{R,1,{{2n} + 1}} \\ r_{R,2,{2n}} & r_{R,2,{{2n} + 1}} \end{bmatrix} = {\quad{\begin{bmatrix} {^{{j{({{2{n{({N + P_{1}})}}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,1}W_{N}^{H}x_{2n}} & {^{{j{({{{({{2n} + 1})}{({N + P_{1}})}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,1}W_{N}^{H}x_{{2n} + 1}} \\ {^{{j{({{2{n{({N + P_{1}})}}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,2}W_{N}^{H}x_{2n}} & {^{{j{({{{({{2n} + 1})}{({N + P_{1}})}} + P_{1}})}}\varphi_{r}}{Z_{N}\left( \varphi_{r} \right)}H_{S,2}W_{N}^{H}x_{{2n} + 1}} \end{bmatrix} + {\quad{\begin{bmatrix} v_{R,1,{2n}} & v_{R,1,{{2n} + 1}} \\ v_{R,2,{2n}} & v_{R,2,{{2n} + 1}} \end{bmatrix}.}}}}$

The ACFO φ_(r) is a known parameter obtained at the relay station during the ACFO φ_(r) estimation step 410 and forms part of the channel state information (CSI).

The effect of the ACFO φ_(r) can be removed for r_(R,1,2n) and r_(R,2,2n) by multiplying r_(R,1,2n) and r_(R,2,2n) with the conjugate of e^(j(2n(N+P) ¹ ^()+P) ¹ ^()φ) ^(r) Z_(N)(φ_(r)). The effect of the ACFO φ_(r) can be removed for r_(R,1,2n+1) and r_(R,2,2n+1) by multiplying r_(R,1,2,2n+1) and r_(R,2,2n+1) with the conjugate of e^(j((2n+1)(N+P) ¹ ^()+P) ¹ ^()φ) ^(r) Z_(N)(φ_(r)).

In step 240, the destination optionally performs ACFO φ_(d) compensation. The (N×1) received signal vectors at the destination in the presence of ACFO φ_(d) are given by

$\begin{matrix} {r_{D,{2n}} = {\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{Z_{N}\left( \varphi_{d} \right)}{\quad{{{\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{2n}} + {H_{2,D}{\zeta \left( H_{S,2}^{*} \right)}W_{N}^{H}{Tx}_{{2n} + 1}^{*}}} \right\rbrack + {p_{D,{2n}}r_{D,2,{+ 1}}}} = {{\frac{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{{2n} + 1}} - {H_{2,D}{\zeta \left( H_{S,2}^{*} \right)}W_{N}^{H}{Tx}_{2n}^{*}}} \right\rbrack}} + p_{D,{{2n} + 1}}}},}}}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 1} \end{matrix}$

where the noise vectors are given by p_(D,2n) and p_(D,2n+). The ACFO φ_(d) is a known parameter obtained at the destination during the ACFO {circumflex over (φ)}_(d)-estimation step 420 and forms part of the channel state information (CSI).

The effect of the ACFO φ_(d) can be removed by multiplying r_(D,2n) and r_(D,2n+1) respectively with the conjugate of e^(j(2n(N+P) ² ^()+P) ² ^()φ) ^(d) Z_(N)(φ_(d)) and e^(j((2n+1)(N+P) ² ^()+P) ² ^()φ) ^(d) Z_(N)(φ_(d)).

The Cyclic Prefix Scheme 1 may have the advantage that only analog domain processing has to be done at the relay, and only linear processing has to be done for maximum likelihood decoding at the destination.

Cyclic Prefix Scheme 2

FIG. 3 shows an alternative scheme for inserting cyclic prefixes according to the example embodiment. Let x_(j) be a (N×1) vector containing the N data symbols to be transmitted during a j-th OFDM symbol duration.

While this example embodiment of the invention has been described using 2 OFDM symbols i.e. x₂, and x_(2n+1), it is clear that the use of a different number of OFDM symbols is possible within the scope of the invention, as will be clear to a skilled reader. In step 302, the source derives a first cyclic prefix (denoted CP_(j,1)) with length P from x_(j), where P+P₂=L₁+L₂−2. L₁ is the length of the channel impulse response (CIR) represented by h_(S,1) and h_(S,2) respectively for the channel between the source 110 and the first antenna 122 of the relay station 120, and the channel between the source 110 and the second antenna 124 of the relay station 120. L₂ is the length of the CIRs denoted by the vectors h_(1,D) and h_(2,D) respectively for the channel between the first antenna 122 of the relay station 120 and the destination 130, and the channel between the second antenna 124 of the relay station 120 and the destination 130.

In step 304, the source inserts CP_(j,1) in front of x_(j) and then transmits the resultant symbol sequence.

Let the symbol sequence x_(j) consist of N symbols be denoted by x_(n) where n=0 . . . N−1, i.e.

x _(j) =[x ₀ . . . x _(n) . . . x _(N−1)]

The cyclic prefix CP_(j,1) of length P₁ is created by copying the last Ncp words of x_(j)

CP _(j,1) =└x _(N−P) ₁ . . . x _(N−2) x _(N−1)┘

The cyclic prefix CP_(j,1) is inserted in front of x_(j), producing the resultant symbol sequence └CP_(j,1) x_(j)┘ for transmission.

The transmission from the source 110 to relay station 120 takes place in the first phase of the transmission cycle.

In step 306; the relay station receives └CP_(j,1) x_(j)┘ at both antennae of the station.

In step 308, after performing time synchronization, the first P₁ samples of the CP_(j,1) portion of each OFDM symbol is removed, leaving a sequence represented by └CP_(j,2) x_(j)┘. The first P₁ samples of each OFDM symbol are distorted by the ISI induced by the frequency selective fading occurring at the source to relay channels. The resulting OFDM symbol will then have (N+P₂) samples. Should ACFO be present, the signal vectors received over the span of 2 OFDM symbol durations i.e. for j={2n, 2n+1} are given after the removal of CP_(j,1) as

$\begin{bmatrix} {\overset{\sim}{\overset{\sim}{r}}}_{R,1,{2n}} & {\overset{\sim}{r}}_{R,1,{{2n} + 1}} \\ {\overset{\sim}{r}}_{R,2,{2n}} & {\overset{\sim}{r}}_{R,2,{{2n} + 1}} \end{bmatrix} = {\quad{\begin{bmatrix} {^{{j{({{2{\pi {({N + P})}}} + P_{1}})}}\varphi_{r}}{Z_{N + P_{2}}\left( \varphi_{r} \right)}{\overset{\sim}{H}}_{S,1}W_{N}^{H}x_{2n}} & {^{{j{({{{({{2n} + 1})}{({N + P})}} + P_{1}})}}\varphi_{r}}{Z_{N + P_{2}}\left( \varphi_{r} \right)}{\overset{\sim}{H}}_{S,1}W_{N}^{H}x_{{2n} + 1}} \\ {^{{j{({{2{n{({N + P})}}} + P_{1}})}}\varphi_{r}}{Z_{N + P_{2}}\left( \varphi_{r} \right)}{\overset{\sim}{H}}_{S,2}W_{N}^{H}x_{2n}} & {^{{j{({{{({{2n} + 1})}{({N + P})}} + P_{1}})}}\varphi_{r}}{Z_{N + P_{2}}\left( \varphi_{r} \right)}{\overset{\sim}{H}}_{S,2}W_{N}^{H}x_{{2n} + 1}} \end{bmatrix} + {\begin{bmatrix} {\overset{\sim}{v}}_{R,1,{2n}} & {\overset{\sim}{v}}_{R,1,{{2n} + 1}} \\ {\overset{\sim}{v}}_{R,2,{2n}} & {\overset{\sim}{v}}_{R,2,{{2n} + 1}} \end{bmatrix}.}}}$

{tilde over (r)}_(R,i,j) denotes the ((N+P₂)×1) received signal vector obtained after the removal of P₁ samples, with i and j respectively denoting the antenna index and OFDM symbol duration. η denotes the data transmission cycle index. The (N×N) matrix W_(N) ^(H) is the inverse discrete Fourier transform (IDFT) matrix. Matrix {tilde over (H)}_(S,i) for i=1, 2 is a ((N+P₂)×N) matrix given by

${{\overset{\sim}{H}}_{S,i} = \begin{bmatrix} {H_{S,i}\left( {{{N - P_{2} + 1}:N},:} \right)} \\ H_{S,i} \end{bmatrix}},$

with H_(S,i) being a (N×N) circulant matrix with [h_(S,i) ^(T), 0_(1×(N-L) ₁ )]^(T) as its first column vector and H_(S,i)(N−P₂+1: N,:) denotes the last P₂ row vectors of H_(S,i).

The vector v _(R,i,j) of size ((N+P₂)×1) contains the AWGN affecting the signal {tilde over (r)}_(R,i,j). The covariance matrix of the noise vector {tilde over (r)}_(R,i,j) at the relay station is given by

E[{tilde over (v)} _(R,i,j) {tilde over (v)} _(R,i,j) ^(H)]=σ_(R) ² I _(N+P) ₂

Optionally, in the event that ACFO is present, ACFO φ_(r) compensation can be performed at the relay station as Step 330.

Assuming the complete removal of ACFO or if ACFO was absent, over the span of 2 OFDM symbol durations i.e. for j={2n, 2n+1}, the received signal vectors obtained after the removal of the first P₁ samples of the CP_(j,1) portion of each OFDM symbol are given as follows:

${\begin{bmatrix} {\overset{\sim}{r}}_{R,1,{2n}} & {\overset{\sim}{r}}_{R,1,{{2n} + 1}} \\ {\overset{\sim}{r}}_{R,2,{2n}} & {\overset{\sim}{r}}_{R,2,{{2n} + 1}} \end{bmatrix} = {\begin{bmatrix} {{\overset{\sim}{H}}_{S,1}W_{N}^{H}x_{2n}} & {{\overset{\sim}{H}}_{S,1}W_{N}^{H}x_{{2n} + 1}} \\ {{\overset{\sim}{H}}_{S,2}W_{N}^{H}x_{2n}} & {{\overset{\sim}{H}}_{S,2}W_{N}^{H}x_{{2n} + 1}} \end{bmatrix} + \begin{bmatrix} {\overset{\sim}{v}}_{R,1,{2n}} & {\overset{\sim}{v}}_{R,1,{{2n} + 1}} \\ {\overset{\sim}{v}}_{R,2,{2n}} & {\overset{\sim}{v}}_{R,2,{{2n} + 1}} \end{bmatrix}}},$

Step 309 is then performed at the relay station. In step 309, processing is performed in order to implement space-time coding at the carrier level. The matrix Y_(R) is computed and arranged:

$Y_{R} = {\left\lbrack y_{{ij},R} \right\rbrack = {\begin{bmatrix} y_{11,R} & y_{12,R} \\ y_{21,R} & y_{22,R} \end{bmatrix} = {\frac{1}{\sqrt{2}}\begin{bmatrix} {\overset{\sim}{r}}_{R,1,{2n}} & {\overset{\sim}{r}}_{R,1,{{2n} + 1}} \\ {\zeta \left( {\overset{\sim}{r}}_{R,2,{{2n} + 1}}^{*} \right)} & {- {\zeta \left( {\overset{\sim}{r}}_{R,2,{2n}}^{*} \right)}} \end{bmatrix}}}}$

The operator [•]* represents a complex conjugation. The space-time code implemented can for example be the Alamouti code.

Step 309 further comprises steps 310 and 312.

In step 310, for those elements of Y_(R) where no signal conjugation is needed e.g.: for y_(11,R) and y_(12,R), nothing needs to be done.

In step 312, for those elements of Y_(R) where signal conjugation is needed e.g.: for y_(21,R) and y_(22,R), the OFDM symbol sequence from the respective {tilde over (r)}_(R,i,j) is reordered ordered using the mapping function ζ(.):

ζ(a)=[a(N−1),a(N−2), . . . ,a(0)]^(T),

the (N×1) input vector a=[a(0), a(1), . . . , a(N−1)]^(T). This function can be easily implemented in hardware by storing the signal samples in a shift register and then reading the register in reverse order.

The mapping function ζ(.) can thus be re-expressed as

ζ(a(n))=a(N−n−1)

where a(n) denotes the n-th symbol of the OFDM symbol sequence a. A time domain signal conjugation is then performed on each reordered symbol ζ(a(n)), for n=0 . . . N−1.

Let b=ζ(a). It can be shown that after signal conjugation is done, taking B={B(0) . . . B(k) . . . B(N−1)} to be the corresponding frequency domain sequence of b

B*(k)W _(N) ^(k(N−P) ² ⁻¹⁾ =B*(k)W _(N) ^(−k(P) ² ⁺¹⁾

i.e., the phase-shifted conjugate sequence.

The following Discrete Fourier Transform (DFT) properties are present:

Linearity; ax(n)+by(n)

aX(k)+bY(k);

Cyclic Shift x((n+m)_(N))

W_(N) ^(−km)X(k);

Symmetry x*((−n)_(N))

X*(k)

x(n) and y(n) to denote the time domain sequence, X(k) and Y(k) their corresponding frequency domain sequence, N the DFT size, and

$W_{N} = {{\exp \left( {{- j}\frac{2\pi}{N}} \right)}.}$

In step 314, the other necessary steps for the ASTC implementation at the relay station are performed. The symbol sequences contained in

$Y_{R} = {\left\lbrack y_{{ij},R} \right\rbrack = \begin{bmatrix} y_{11,R} & y_{12,R} \\ y_{21,R} & y_{22,R} \end{bmatrix}}$

are then transmitted by the i-th relay antenna during the j-th OFDM symbol duration, where i=1, 2 and j={2n, 2n+1}. The transmission from the relay station to destination takes place in the second phase of the transmission cycle where the source remains silent.

In step 316, after frame synchronization, the destination removes the cyclic prefix of length P₂ from each OFDM symbol received. Each OFDM symbol after cyclic prefix removal will be N samples long and can be denoted by the signal vector r_(D,j) for each j-th OFDM symbol duration.

Assuming that ACFO is present and ACFO compensation was done at the relay, for the j={2n, 2n+1}-th OFDM symbol duration, the (N×1) received signal vectors at the destination in the presence of ACFO φ_(d) are given by

$\begin{matrix} {{r_{D,{2n}} = {{\frac{^{{j{({{2{n{({N + P_{0}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{2n}} + {H_{2,D}G_{S,2}w_{N}^{H}{Tx}_{{2n} + 1}^{*}}} \right\rbrack}} + {\overset{\sim}{p}}_{D,{2n}}}}{{r_{D,{{2n} + 1}} = {{\frac{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{{2n} + 1}} - {H_{2,D}G_{S,2}W_{N}^{H}{Tx}_{2n}^{*}}} \right\rbrack}} + {\overset{\sim}{p}}_{D,{{2n} + 1}}}},}} & {{CP}\mspace{14mu} {Sceme}\mspace{14mu} 2} \end{matrix}$

where the noise vectors are given by

${\overset{\sim}{p}}_{D,{2n}} = {{\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{Z_{N}\left( \varphi_{d} \right)}{R_{cp}\left\lbrack {{U_{1,D}{\overset{\sim}{v}}_{R,1,{2n}}} + {U_{2,D}{\zeta \left( {\overset{\sim}{v}}_{R,2,{{2n} + 1}}^{*} \right)}}} \right\rbrack}} + v_{D,{2n}}}$ ${\overset{\sim}{p}}_{D,{{2n} + 1}} = {{\frac{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{Z_{N}\left( \varphi_{d} \right)}{R_{cp}\left\lbrack {{U_{1,D}{\overset{\sim}{v}}_{R,1,{{2n} + 1}}} - {H_{2,D}{\zeta \left( {\overset{\sim}{v}}_{R,2,{2n}}^{*} \right)}}} \right\rbrack}} + {v_{D,{{2n} + 1}}.}}$

Optionally, ACFO φ_(d) compensation can be performed at the destination as step 340.

Assuming that ACFO is present and no ACFO compensation was done at the relay, for the j={2n, 2n+1}-th OFDM symbol duration,

$r_{D,{2n}} = {{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}{({\varphi_{d} + \varphi_{r}})}}{{Z_{N}\left( {\varphi_{d} + \varphi_{r}} \right)}\left\lbrack {{\alpha_{n}{\overset{˘}{H}}_{1,D}H_{S,1}W_{N}^{H}x_{2n}} + {\gamma_{n}{\overset{˘}{H}}_{2,D}{G_{S,2}\left( {W_{N}^{H}x_{{2n} + 1}} \right)}^{*}}} \right\rbrack}} + {\overset{\sim}{p}}_{D,{2n}}}$ ${r_{D,{{2n} + 1}} = {{^{j({{({{2n} + 1})}{({N + P_{2}})}{({\varphi_{d} + \varphi_{r}})}}}{{Z_{N}\left( {\varphi_{d} + \varphi_{r}} \right)}\left\lbrack {{\alpha_{n}^{j\; P_{1}\varphi_{r}}{\overset{˘}{H}}_{1,D}H_{S,1}W_{N}^{H}x_{{2n} + 1}} - {\gamma_{n}^{j\; P_{1}\varphi_{r}}{\overset{˘}{H}}_{2,D}{G_{S,2}\left( {W_{N}^{H}x_{2n}} \right)}^{*}}} \right\rbrack}} + {\overset{\sim}{p}}_{D,{{2n} + 1}}}},$

where {hacek over (H)}_(1,D) and {hacek over (H)}_(2,D) are (N×N) circulant matrix with Z_(N)(−φ_(r))[h_(1,D) ^(T), 0_(1×(N-L) ₂₎ ]^(T) and Z_(N)(−φ_(r))[h_(2,D) ^(T), 0_(1×(N-L) ₂₎ ]^(T) as their respective first column vectors and scalars α_(n) and γ_(n) are defined as follows:

α_(n) =e ^(j(2n+1)P) ¹ ^(φ) ^(r)

γ_(n) =e ^(j((4n+2)(N+P)−2nP) ¹ ^(−1)φ) ^(r.)

Optionally, joint ACFO compensation can be performed at the destination as step 350 to compensate for the ACFO φ_(r) and φ_(d).

Assuming that ACFO compensation was performed, or if ACFO is absent, for the j=(2n)-th OFDM symbol duration

r _(D,2n) =H _(1,D) H _(S,1) W _(N) ^(H) x _(2n) +H _(2,D) G _(S,2)(W _(N) ^(H) x _(2n+1))*+{tilde over (p)} _(D,2n),

The (N×N) matrix G_(S,2) is given by

G _(S,2)=ζ({tilde over (H)} _(S,2)*(1:N,:)).

The mapping ζ(•) for a 2-dimensional matrix A is computed as follows:

Given that A has a size of (N₁×N₂) and A=[a₁, a₂, . . . , a_(N) _(a) ] where a_(i) is (N₁×1) vector for i=1, 2, . . . , N₂, then ζ(A)=[ζ(a₁), ζ(a₂), . . . , ζ(a_(N) ₂ )].

The (N×1) vector {tilde over (p)}_(D,2n) is given by

{tilde over (p)} _(D,2n) =R _(cp) [U _(1,D) {tilde over (v)} _(R,1,2n) +U _(2,D)ζ({tilde over (v)} _(R,2,2n+1)*)]+v _(D,2n),

where vector v_(D,2n) contains the AWGN received at the destination for i=1, 2, the matrix U_(i,D) is a ((N+P₂)×(N+P₂)) Toeplitz matrix with [h_(i,D) ^(T), 0_(1×N+P) ₂ _(−L) ₂ _()]) ^(T) as its first column vector and [h_(i,D)(1, 1), 0_(1x(N+P) ₂ _(—1))] as its first row vector. Matrix R_(cp) is a (N×(N+P₂)) matrix defined as

R _(cp)=[0_(N×P) ₂ ,I _(N)].

Similarly, the (N×1) sized signal vector received at the destination during (2n+1)th OFDM symbol duration is obtained to be

r _(D,2n+1) =H _(1,D) H _(S,1) W _(N) ^(H) x _(2n+1) −H _(2,D) G _(S,2)(W _(N) ^(H) x _(2n))*+{tilde over (p)} _(D,2n+1,)

{tilde over (p)} _(D,2n+1) =R _(cp) [U _(1,D) {tilde over (v)} _(R,1,2n+1) −U _(2,D)ζ({tilde over (v)} _(R,2,2n+1)*)]+v _(D,2n+1).

In step 318, the destination performs the ASTC decoding in the frequency domain using the channel state information (CSI) parameters that were obtained during training. N-point DFTs are performed on the signal vector r_(D,j) for the symbol durations j={2n, 2n+1}, resulting in the vectors W_(N)r_(D,2n) and W_(N)r_(D,2n+1)

A (2N×1) vector y_(D,n) is constructed as

$\begin{matrix} {y_{D,n} = \left\lbrack {\left( {W_{N}r_{D,{2n}}} \right)^{T},\left( {W_{N}r_{D,{{2n} + 1}}} \right)^{H}} \right\rbrack^{T}} \\ {= {{H_{P}\begin{bmatrix} x_{2n} \\ x_{{2n} + 1}^{*} \end{bmatrix}} + \begin{bmatrix} {W_{N}{\overset{\sim}{p}}_{D,{2n}}} \\ \left( {W_{N}{\overset{\sim}{p}}_{D,{{2n} + 1}}} \right)^{*} \end{bmatrix}}} \end{matrix}$

The signals r_(D,2n) and r_(D,2n+1) can be represented as

r _(D,2n) =H _(1,D) H _(S,1) W _(N) ^(H) x _(2n) +H _(2,D) G _(S,2)(W _(N) ^(H) x _(2n+1))*+{tilde over (p)} _(D,2n),

r _(D,2n+1) =H _(1,D) H _(S,1) W _(N) ^(H) x _(2n+1) −H _(2,D) G _(S,2)(W _(N) ^(H) x _(2n))*+{tilde over (p)} _(D,2n+1),

The matrix G_(S,2) is defined to be a (N×N) matrix of the form:

G _(S,2)=ζ({tilde over (H)} _(S,2)*(1:N,:)).

It can be observed that matrix G_(S,2) can be obtained by permutating the column vectors of a (N×N) circulant matrix C_(S,2)=W_(N) ^(H)Λ_(S,2)*W_(N). Using this knowledge, it can be shown that

$G_{S,2} = {{W_{N}^{H}\left\lbrack {\left( {Z_{N}\left( \frac{2\pi}{N} \right)} \right)^{L_{2}}\Lambda_{S,2}^{*}T} \right\rbrack}{W_{N}.}}$

Substituting G_(S,2) in the (N×1)-sized vector H_(2,D)G_(S,2)(W_(N) ^(H)x_(2n+1))*,

$\begin{matrix} {{H_{2,D}{G_{S,2}\left( {W_{N}^{H}x_{{2\; n} + 1}} \right)}^{*}} = {W_{N}^{H}{\Lambda_{2,D}\left( {W_{N}G_{S,2}W_{N}^{H}} \right)}{W_{N}\left( {W_{N}^{H}x_{{2\; n} + 1}} \right)}^{*}}} \\ {= {W_{N}^{H}{\Lambda_{2,D}\left( {\left( {Z_{N}\left( \frac{2\; \pi}{N} \right)} \right)^{L_{2}}\Lambda_{S,2}^{*}T} \right)}{W_{N}\left( {W_{N}^{H}x_{{2\; n} + 1}} \right)}^{*}}} \\ {= {W_{N}^{H}{\Lambda_{2,D}\left( {Z_{N}\left( \frac{2\; \pi}{N} \right)} \right)}^{L_{2}}\Lambda_{S,2}^{*}{TTx}_{{2\; n} + 1}^{*}}} \\ {= {{{W_{N}^{H}\left( {Z_{N}\left( \frac{2\; \pi}{N} \right)} \right)}^{L_{2}}\Lambda_{2,D}\Lambda_{S,2}^{*}x_{{2\; n} + 1}^{*}\mspace{14mu} {since}\mspace{14mu} {TT}} = {I_{N}.}}} \end{matrix}$

Similarly, the (N×1) vector H_(2,D)G_(S,2)(W_(N) ^(H)x_(2n))* can be expressed as

${H_{2,D}{G_{S,2}\left( {W_{N}^{H}x_{2\; n}} \right)}^{*}} = {{W_{N}^{H}\left( {Z_{N}\left( \frac{2\; \pi}{N} \right)} \right)}^{L_{2}}\Lambda_{2,D}\Lambda_{S,2}^{*}{x_{2\; n}^{*}.}}$

Substituting the expressions of H_(2,D)G_(S,2)(W_(N) ^(H)x_(2n+1))* and H_(2,D)G_(S,2)(W_(N) ^(H)x_(2n))* into y_(D,n),

$\begin{matrix} {y_{D,n} = \left\lbrack {\left( {W_{N}r_{D,{2\; n}}} \right)^{T},\left( {W_{N}r_{D,{{2\; n} + 1}}} \right)^{H}} \right\rbrack^{T}} \\ {= {{\begin{bmatrix} {\Lambda_{1,D}\Lambda_{S,1}} & {\left( {Z_{N}\left( \frac{2\; \pi}{N} \right)} \right)^{L_{2}}\Lambda_{2,D}\Lambda_{S,2}^{*}} \\ {{- \left( {Z_{N}\left( {- \frac{2\; \pi}{N}} \right)} \right)^{L_{2}}}\Lambda_{2,D}^{*}\Lambda_{S,2}} & {\Lambda_{1,D}^{*}\Lambda_{S,1}^{*}} \end{bmatrix}\begin{bmatrix} x_{2\; n} \\ x_{{2\; n} + 1}^{*} \end{bmatrix}} +}} \\ {{\begin{bmatrix} {W_{N}p_{D,{2\; n}}} \\ \left( {W_{N}p_{D,{{2\; n} + 1}}} \right)^{*} \end{bmatrix}.}} \end{matrix}$

Estimates of x_(2n) and x_(2n+1) (denoted {tilde over (x)}_(2n) and {tilde over (x)}_(2n+1)*) can be obtained using the conjugate transpose of H_(P) i.e. H_(P) ^(H)

$\begin{matrix} {\begin{bmatrix} {\overset{\sim}{x}}_{2\; n} \\ {\overset{\sim}{x}}_{{2\; n} + 1}^{*} \end{bmatrix} = {H_{P}^{H}y_{D,n}}} \\ {= {H_{P}^{H}\begin{bmatrix} {W_{N}r_{D,{2\; n}}} \\ \left( {W_{N}r_{D,{{2\; n} + 1}}} \right)^{*} \end{bmatrix}}} \end{matrix}$

H_(P) is the (2N×2N) sized product channel matrix and is given by

$H_{P} = \begin{bmatrix} {\Lambda_{1,D}\Lambda_{S,1}} & {\left( {Z_{N}\left( \frac{2\; \pi}{N} \right)} \right)^{L_{2}}\Lambda_{2,D}\Lambda_{S,2}^{*}} \\ {{- \left( {Z_{N}\left( {- \frac{2\; \pi}{N}} \right)} \right)^{L_{2}}}\Lambda_{2,D}^{*}\Lambda_{S,2}} & {\Lambda_{1,D}^{*}\Lambda_{S,1}^{*}} \end{bmatrix}$

The product channel matrix H_(P) is a known parameter obtained during the product channel matrix estimation and forms part of the channel state information (CSI). H_(P) allows for a simple linear decoding at destination, since

H _(P) ^(H) H _(P) =I ₂

(|Λ_(1,D)|²|Λ_(S,1)|²+|Λ_(2,D)|²|Λ_(S,2)|²).

where

denotes performing a Kronecker product.

It can be seen that the present embodiment has an advantage in that there is no need for any sample reordering to be done at the destination.

In the event that ACFO is present and joint ACFO compensation was done in step 316, the ASTC decoding in the frequency domain can be performed using step 320 instead of step 318.

In step 320, the (2N×1) vector y_(D,n) will be

$\begin{matrix} {\begin{matrix} \left. {{y_{D,n} = \left\lbrack {\left( \text{?} \right)^{T}W_{N}{Z_{N}^{H}\left( \varphi_{f} \right)}r_{D,{2\; n}}} \right)^{T}},\left\lbrack {\left( \text{?} \right)^{T}W_{N}{Z_{N}^{H}\left( \varphi_{f} \right)}r_{D,{{2\; n} + 1}}} \right)^{H}} \right\rbrack^{T} \\ {= {{\underset{\underset{\text{?}}{}}{\begin{bmatrix} {\alpha_{n}\text{?}\Lambda_{S,1}} & {{\gamma_{n}\left( {Z_{N}\left( \frac{2\; \pi}{N} \right)} \right)}\text{?}\text{?}\Lambda_{S,2}^{*}} \\ {\text{?}\left( {Z_{N}\left( {- \frac{2\; \pi}{N}} \right)} \right)\text{?}\text{?}\Lambda_{S,2}} & {\alpha_{n}^{*}\text{?}\text{?}\Lambda_{S,1}^{*}} \end{bmatrix}}\begin{bmatrix} x_{2\; n} \\ x_{{2\; n} + 1}^{*} \end{bmatrix}} +}} \\ {\underset{\underset{a_{n}}{}}{\begin{bmatrix} {\text{?}W_{N}{Z_{N}^{H}\left( \varphi_{f} \right)}{\overset{\sim}{p}}_{D,{2\; n}}} \\ {\text{?}W_{N}{Z_{N}^{H}\left( \varphi_{f} \right)}{\overset{\sim}{p}}_{D,{{2\; n} + 1}}} \end{bmatrix}}} \end{matrix}\mspace{20mu} {y_{D,n} = {{\text{?}\begin{bmatrix} x_{2\; n} \\ x_{{2\; n} + 1}^{*} \end{bmatrix}} + a_{n}}}{\text{?}\text{indicates text missing or illegible when filed}}} & \; \end{matrix}$

The scalars α_(n) and γ_(n) are defined as:

α_(n) =e ^(j(2n+1)P) ¹ ^(φ) ^(r)

γ_(n) =e ^(−j((4n+2)(N+P)−2nP) ¹ ^(−1)φ) ^(r) .

where φ_(r) represents the ACFO φ_(r). The value of φ_(r) can be estimated at the relay using the ACFO {circumflex over (φ)}_(r) estimation step 410 and then forwarded to the destination.

Estimates of x_(2n) and x_(2n+1) (denoted {tilde over (x)}_(2n) and {tilde over (x)}_(2n+1)*) can thus be obtained using {tilde over (H)}_(F) such that

$\begin{bmatrix} {\overset{\sim}{x}}_{2\; n} \\ {\overset{\sim}{x}}_{{2\; n} + 1}^{*} \end{bmatrix} = {{\overset{\sim}{H}}_{F}^{H}{y_{D,n}.}}$

{tilde over (H)}_(F) ^(H) represents the conjugate transpose of {tilde over (H)}_(F). {tilde over (H)}_(F) has the property that

{tilde over (H)} _(F) ^(H) {tilde over (H)} _(F) =I ₂

(|{hacek over (Λ)}_(1,D)|²|Λ_(S,1)|²|{hacek over (Λ)}_(2,D)|²|Λ_(S,2)|²).

where

denotes performing a Kronecker product. {tilde over (H)}_(F) thus allows for a simple linear decoding at the destination.

In step 330, the relay station optionally performs ACFO φ_(r) compensation. The signal vectors {tilde over (r)}_(R,i,j) received over the span of 2 OFDM symbol durations j={2n, 2n+1} for antennae i=1, 2 are:

$\begin{matrix} {\begin{bmatrix} {\overset{\sim}{r}}_{R,1,{2\; n}} & {\overset{\sim}{r}}_{R,1,{{2\; n} + 1}} \\ {\overset{\sim}{r}}_{R,2,{2\; n}} & {\overset{\sim}{r}}_{R,2,{{2\; n} + 1}} \end{bmatrix} = {\begin{bmatrix} ^{{j{({{2\; {n{({N + P})}}} + P_{1}})}}\varphi_{r}{Z_{N + P_{2}}{(\varphi_{r})}}{\overset{\sim}{H}}_{S,1}W_{N}^{H}x_{2\; n}} & ^{{j{({{2\; n} + {1{({N + P})}} + P_{1}})}}\varphi_{r}{Z_{N + P_{2}}{(\varphi_{r})}}{\overset{\sim}{H}}_{S,1}W_{N}^{H}x_{{2\; n} + 1}} \\ ^{{j{({{2\; {n{({N + P})}}} + P_{1}})}}\varphi_{r}{Z_{N + P_{2}}{(\varphi_{r})}}{\overset{\sim}{H}}_{S,2}W_{N}^{H}x_{2\; n}} & ^{{j{({{2\; n} + {1{({N + P})}} + P_{1}})}}\varphi_{r}{Z_{N + P_{2}}{(\varphi_{r})}}{\overset{\sim}{H}}_{S,2}W_{N}^{H}x_{{2\; n} + 1}} \end{bmatrix} +}} \\ {\left\lbrack \begin{matrix} {\overset{\sim}{v}}_{R,1,{2\; n}} & {\overset{\sim}{v}}_{R,1,{{2\; n} + 1}} \\ {\overset{\sim}{v}}_{R,2,{2\; n}} & {\overset{\sim}{v}}_{R,2,{{2\; n} + 1}} \end{matrix} \right\rbrack.} \end{matrix}$

The ACFO φ_(r) is a known parameter obtained at the relay station during the ACFO {circumflex over (φ)}_(r) estimation step 410 and forms part of the channel state information (CSI).

The effect of the ACFO φ_(r) can be removed for {tilde over (r)}_(R,1,2n) and {tilde over (r)}_(R,2,2n) by multiplying with the conjugate of e^(j(2n(N+P) ¹ ^()+P) ¹ ^()φ) ^(r) Z_(N)(φ_(r)). The effect of the ACFO φ_(r) can be removed for {tilde over (r)}_(R,1,2n+1) and {tilde over (r)}_(R,2,2n+1) by multiplying with the conjugate of e^(j((2n+1)(N+P) ¹ ^()+P) ¹ ^()φ) ^(r) Z_(N)(φ_(r)).

In step 340, the destination optionally performs ACFO φ_(d) compensation. The (N×1) received signal vectors at the destination in the presence of ACFO φ_(d) are given by

$\begin{matrix} {{r_{D,{2\; n}} = {{\frac{\text{?}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{2\; n}} + {H_{2,D}G_{S,2}W_{N}^{H}{Tx}_{{2\; n} + 1}^{*}}} \right\rbrack}} + \text{?}}}{r_{D,{{2\; n} + 1}} = {{\frac{\text{?}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{{2\; n} + 1}} - {H_{2,D}G_{S,2}W_{N}^{H}{Tx}_{2\; n}^{*}}} \right\rbrack}} + \text{?}}}{\text{?}\text{indicates text missing or illegible when filed}}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 2} \end{matrix}$

where the noise vectors are given by {tilde over (p)}_(D,2n) and {tilde over (p)}_(D,2n+1). The ACFO φ_(d) is a known parameter obtained during the ACFO {circumflex over (φ)}_(d) estimation step 420 and forms part of the channel state information (CSI).

The effect of the ACFO φ_(d) can be removed by multiplying r_(D,2n) and r_(D,2n+1) respectively with the conjugate of e^(j(2n(N+P) ² ^()+P) ² ^()φ) ^(d) Z_(N)(φ_(d)) and e^(j((2n+1)(N+P) ² ^()+P) ² ^()φ) ^(d) Z_(N)(φ_(d)).

In step 350, the destination optionally performs joint ACFO compensation. The (N×1) signal vectors received at the destination for the j={2n, 2n+1}-th OFDM symbol duration are given by

r_(D, 2 n) = ^(j(2 n(N + P₂) + P₂)(φ_(d) + φ_(r)))Z_(N)(φ_(d) + φ_(r))[α_(n)?H_(S, 1)W_(N)^(H)x_(2 n) + γ_(n)?G_(S, 2)(W_(N)^(H)x_(2n + 1))^(*)] + ? r_(D, 2 n + 1) = ^(j(2 n + 1(N + P₂) + P₂)(φ_(d) + φ_(r)))Z_(N)(φ_(d) + φ_(r))[α_(n)?H_(S, 1)W_(N)^(H)x_(2 n + 1) − γ_(n)?G_(S, 2)(W_(N)^(H)x_(2n))^(*)] + ?, ?indicates text missing or illegible when filed

where the noise vectors are given by {tilde over (p)}_(D,2n) and {tilde over (p)}_(D,2n+1).

The scalars α_(n) and γ_(n) are defined as follows:

α_(n) =e ^(j(2n+1)P) ¹ ^(φ) ^(r)

γ_(n) =e ^(−j((4n+2)(N+P)−2nP) ¹ ^(−1)φ) ^(r) .

It can be seen that ACFO φ_(r) and ACFO φ_(d) are present in the signal vectors r_(D,2n) and r_(D,2n+1). ACFO φ_(r) and ACFO φ_(d) can be added together and be represented by ACFO φ_(f) i.e. φ_(f)=φ_(d)+φ_(r). The ACFO φ_(f) is a known parameter obtained during the joint ACFO (φ_(r)+φ_(d)) estimation step 430 and forms part of the channel state information (CSI).

The effect of the ACFO φ_(f) can be removed by multiplying r_(D,2n) and r_(D,2n+1) respectively with the conjugates of e^(j(2n(N+P) ² ^()+P) ² ^()(φ) ^(d) ^(+φ) ^(r) ⁾Z_(N)(φ_(d)+φ_(r)) and e^(j((2n+1)(N+P) ² ^()(φ) ^(d) ^(+φ) ^(r) ⁾Z_(N)(φ_(d)+φ_(r)).

The Cyclic Prefix Scheme 2 may have the advantage that only analog domain processing has to be done at the relay, and only linear processing has to be done for maximum likelihood decoding at the destination for each carrier.

The Cyclic Prefix Scheme 2 may also be advantageous over the prior art because the relay station does not have to perform time sharing between different sources and destinations. In the prior art, the relay station will need to estimate and compensate the ACFO for each source-and-destination pair as joint ACFO compensation at the destination is not done. This can complicate the relay station hardware and could increase the computational complexity required at the relay station.

Channel Estimation

Channel estimation is performed before actual information is transmitted according to the method shown in the flow-chart of FIG. 2 or FIG. 3. The purpose of channel estimation is to obtain a set of Channel State Information (CSI) parameters for use in decoding the signals received at the destination and optionally to compensate for Angular Carrier Frequency Offset (ACFO) at either the relay station or the destination.

Channel estimation according to the example embodiment will be described next with reference to FIG. 4.

In step 402, a simple pair of pilot symbols (or training symbols) is used to estimate the product channel. The pair of pilot symbols comprising of

[x _(2n) x _(2n+1)]

is transmitted over two symbol intervals from the source. The pilot symbols are defined as

x _(2n) =a

x _(2n+1) =−a

where a is a (N×1) vector such that |a(i)|=1 for i=0, 1, . . . , N−1 and a has low peak to average power ratio (PAPR). n denotes the data transmission cycle index. ACFO {circumflex over (φ)}_(r) Estimation at the Relay Station

In step 410, ACFO {circumflex over (φ)}_(r) estimation is performed at the relay station for either of Cyclic Prefix Schemes 1 or 2. Given the known values of the pilot symbols [x_(2n) x_(2n+1)], the ACFO at the relay {circumflex over (φ)}_(r) can be easily estimated as

$\begin{matrix} {{\hat{\varphi}}_{r} = \frac{{\angle \left( {{- r_{R,1,{2\; n}}^{H}}r_{R,1,{{2\; n} + 1}}} \right)} + {\angle \left( {{- r_{R,r,{2\; n}}^{H}}r_{R,2,{{2\; n} + 1}}} \right)}}{2\left( {N + P} \right)}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 1} \\ {{\hat{\varphi}}_{r} = {\frac{{\angle \left( {{- {\overset{\sim}{r}}_{R,1,{2\; n}}^{H}}{\overset{\sim}{r}}_{R,1,{{2\; n} + 1}}} \right)} + {\angle \left( {{- {\overset{\sim}{r}}_{R,r,{2\; n}}^{H}}{\overset{\sim}{r}}_{R,2,{{2\; n} + 1}}} \right)}}{2\left( {N + P} \right)}.}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 2} \end{matrix}$

The operator ∠(.) returns the phase of (.) and hence the returned scalar is within the interval [−π, π). It is to be noted that

${\hat{\varphi}}_{r} = \frac{2\; \pi \; \varepsilon_{r}}{N}$

and hence the maximum normalized CFO that can be estimated is given by the bounds

${{\hat{\varepsilon}}_{r}} \leq {0.5\frac{N}{N + P}} < 0.5$

The above limitation can be overcome by designing suitable pilot symbols. The estimated ACFO value {circumflex over (φ)}_(r) can be used by the relay to do the compensation during the transmission of actual information.

Cyclic Prefix Scheme 2 may have the advantage that ACFO compensation at relay is not necessary because joint ACFO compensation can be performed at the destination.

ACFO {circumflex over (φ)}_(d) Estimation at the Destination

In step 420, ACFO {circumflex over (φ)}_(d) estimation is performed at the destination station for either of Cyclic Prefix Schemes 1 or 2.

For Cyclic Prefix Scheme 1, the (N×1) received signal vectors at the destination in the presence of ACFO φ_(d) are given by

$\begin{matrix} {{{r_{d,{2\; n}} = {{\frac{^{{j{({{2\; {n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\begin{bmatrix} {{H_{1,D}H_{S,1}W_{N}^{H}x_{2\; n}} +} \\ {H_{2,D}{\zeta \left( H_{S,2}^{*} \right)}W_{N}^{H}{Tx}_{{2\; n} + 1}^{*}} \end{bmatrix}}} + p_{D,{2\; n}}}}r_{d,{{2\; n} + 1}} = {{\frac{^{{j{({{{({{2\; n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\begin{bmatrix} {{H_{1,D}H_{S,1}W_{N}^{H}x_{{2\; n} + 1}} -} \\ {H_{2,D}{\zeta \left( H_{S,2}^{*} \right)}W_{N}^{H}{Tx}_{2\; n}^{*}} \end{bmatrix}}} + p_{D,{{2\; n} + 1}}}},} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 1} \end{matrix}$

where the noise vectors are given by

$p_{D,{2\; n}} = {{\frac{^{{j{({{2\; {n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}v_{R,1,{2\; n}}} + {H_{2,D}{\zeta \left( v_{R,2,{{2\; n} + 1}} \right)}}} \right\rbrack}} + v_{D,{2\; n}}}$ $p_{D,{{2\; n} + 1}} = {{\frac{^{{j{({{{({{2\; n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}v_{R,1,{{2\; n} + 1}}} - {H_{2,D}{\zeta \left( v_{R,2,{2\; n}} \right)}}} \right\rbrack}} + {v_{D,{{2\; n} + 1}}.}}$

Similarly, the (N×1) received signal vectors at the destination for CP Scheme 2 are given by

$\begin{matrix} {{r_{D,{2n}} = {{\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{2n}} + {H_{2,D}G_{S,2}W_{N}^{H}{Tx}_{{2n} + 1}^{*}}} \right\rbrack}} + P_{D,{2n}}}}{{r_{D,{{2n} + 1}} = {{\frac{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{H_{1,D}H_{S,1}W_{N}^{H}x_{{2n} + 1}} - {H_{2,D}G_{S,2}W_{N}^{H}{Tx}_{2n}^{*}}} \right\rbrack}} + p_{D,{{2n} + 1}}}},}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 2} \end{matrix}$

where the noise vectors are given by

${\overset{\sim}{p}}_{D,{2n}} = {{\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{Z_{N}\left( \varphi_{d} \right)}{R_{cp}\left\lbrack {{U_{1,D}{\overset{\sim}{v}}_{R,1,{2n}}} + {U_{2,D}{\zeta \left( {\overset{\sim}{v}}_{R,2,{{2n} + 1}}^{*} \right)}}} \right\rbrack}} + v_{D,{2n}}}$ ${\overset{\sim}{p}}_{D,{{2n} + 1}} = {{\frac{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{Z_{N}\left( \varphi_{d} \right)}{R_{cp}\left\lbrack {{U_{1,D}{\overset{\sim}{v}}_{R,1,{{2n} + 1}}} - {H_{2,D}{\zeta \left( {\overset{\sim}{v}}_{R,2,{2n}}^{*} \right)}}} \right\rbrack}} + {v_{D,{{2n} + 1}}.}}$

The following estimation applies for either of Cyclic Prefix Schemes 1 or 2. Using the pilot symbols of x_(2n)=a and x_(2n)=−a that were transmitted by the source, it is assumed that

W_(N)^(H)a = b.

The (N×N) matrix W_(N) ^(H) is the inverse discrete Fourier transform (IDFT) matrix. Therefore, vector H_(1,D)H_(S,1)W_(N) ^(H)x_(2n) can be expressed as

$\begin{matrix} {{H_{1,D}H_{S,1}W_{N}^{H}x_{2n}} = {H_{1,D}H_{S,1}b}} \\ {{= {Ah}_{P}},} \end{matrix}$

where the (N×(P+1)) Toeplitz matrix A is given by

A=[[b] ⁽⁰⁾ ,[b] ⁽¹⁾ , . . . ,[b] ^((P)])

and the ((P+1)×1) vector h_(P) is

h _(P) =h _(1,D) *h _(S,1)

with * denoting convolution operation. Let us assume that d=W_(N) ^(H)Ta*.

Vector H_(2,D)ζ(H_(S,2)*) d can be written as

H _(2,D)ζ(H _(S,2)*)d=B{tilde over (h)} _(P),

where the (N×(P+1)) Toeplitz matrix B is given by

B=[[f] ^((−L) ¹ ⁺¹⁾ ,[f] ^((−L) ¹ ⁺²⁾ , . . . ,[f] ^((−L) ¹ ^(+P+1))]

with f=λ(d) and the ((P+1)×1) vector {tilde over (h)}P is

{tilde over (h)} _(P) =h _(2,D)*ζ(h _(S,2)*).

Similarly, vector H_(2,D)G_(S,2)d can be expressed as

H _(2,D) G _(S,2) d=C{tilde over (h)} _(P),

where the (N×(P+1)) Toeplitz matrix C is given by

C=[[f] ^((−2L) ² ⁺¹⁾ ,[f] ^((−2L) ² ⁺²⁾ , . . . ,[f] ^((−2L) ² ^(+P+1))].

Substituting the above results into r_(D,2n) and r_(D,2n+1) and bearing in mind that r_(D,2n) and r_(D,2n+1) are the received signal vectors of the pilot symbols at the destination, r_(D,2n) and r_(D,2n+1) can be rewritten as

$\begin{matrix} {\mspace{79mu} {{r_{D,2} = {{\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {A,B} \right\rbrack}h_{F}} + p_{D,{2n}}}}{r_{D,{{2n} + 1}} = {{\frac{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{- A},{- B}} \right\rbrack}h_{F}} + p_{D,{{2n} + 1}}}}}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 1} \\ {\mspace{79mu} {{r_{D,{2n}} = {{\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {A,C} \right\rbrack}h_{F}} + {\overset{\sim}{p}}_{D,{2n}}}}{{r_{D,{{2n} + 1}} = {{\frac{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{{Z_{N}\left( \varphi_{d} \right)}\left\lbrack {{- A},{- C}} \right\rbrack}h_{F}} + {\overset{\sim}{p}}_{D,{{2n} + 1}}}},}}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 2} \end{matrix}$

where the (2(P+1)×1) vector h_(F)

h _(F) =[h _(P) ^(T) ,{tilde over (h)} _(P) ^(T)]^(T).

Let q_(n) be a (2N×1) vector constructed as

$\begin{matrix} {q_{n} = \left\lbrack {r_{D,{2n}}^{T},r_{D,{{2n} + 1}}^{T}} \right\rbrack^{T}} \\ {{= {{{F\left( \varphi_{d} \right)}h_{F}} + e_{n}}},} \end{matrix}$

where e_(n)=[p_(D,2n) ^(T), p_(D,2n+1) ^(T)]^(T) for CP Scheme 1 and e_(n)=[{tilde over (p)}_(D,2n) ^(T), {tilde over (p)}_(D,2n+1) ^(T)]^(T) for CP Scheme 2. The (2N×2(P+1)) matrix F(φ_(d)) is given by

$\begin{matrix} {{F\left( \varphi_{d} \right)} = {\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}{\quad{\begin{bmatrix} {Z_{N}\left( \varphi_{d} \right)} & 0_{N \times N} \\ 0_{N \times N} & {^{{j{({N + P_{2}})}}\varphi_{d}}{Z_{N}\left( \varphi_{d} \right)}} \end{bmatrix}\begin{bmatrix} A & {- B} \\ {- A} & {- B} \end{bmatrix}}}}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 1} \\ {{F\left( \varphi_{d} \right)} = {{\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{d}}}{\sqrt{2}}\begin{bmatrix} {Z_{N}\left( \varphi_{d} \right)} & 0_{N \times N} \\ 0_{N \times N} & {^{{j{({N + P_{2}})}}\varphi_{d}}{Z_{N}\left( \varphi_{d} \right)}} \end{bmatrix}}{\quad{\begin{bmatrix} A & {- C} \\ {- A} & {- C} \end{bmatrix}.}}}} & {{CP}\mspace{14mu} {Scheme}\mspace{14mu} 2} \end{matrix}$

Using q_(n), a maximum likelihood (ML) based ACFO and CIR estimator can be formulated. The ACFO is estimated as

${\hat{\varphi}}_{d} = {\arg {\min\limits_{\varphi}{\left( {{q_{n}^{H}\left\lbrack {I_{2N} - {{F(\varphi)}\left( {{F^{H}(\varphi)}{F(\varphi)}} \right)^{- 1}{F^{H}(\varphi)}}} \right\rbrack}q_{n}} \right).}}}$

{circumflex over (φ)}_(d) can be estimated using a grid search.

It is to be noted that, for the pilot symbols used in step 402, the matrix F^(H)(φ)F(φ) is given by

F ^(H)(φ)F(φ)=NI _(2(P+1)).

This implies that the inverse of F^(H)(φ)F(φ) need not be computed for every search point.

Hence the ACFO {circumflex over (φ)}_(d) can be estimated as

${\hat{\varphi}}_{d} = {\arg {\min\limits_{\varphi}{\left( {{q_{n}^{H}\left\lbrack {I_{2N} - {\frac{1}{N}{F(\varphi)}{F^{H}(\varphi)}}} \right\rbrack}q_{n}} \right).}}}$

It can be seen that the ACFO {circumflex over (φ)}_(d) estimation at the destination is not computationally demanding as no inverse matrix computation needs to be done for each search point.

Once the ACFO {circumflex over (φ)}_(d) is estimated, vector h_(F) can be estimated as

${\hat{h}}_{F} = {\frac{1}{N}{F\left( {\hat{\varphi}}_{d} \right)}{F^{H}\left( {\hat{\varphi}}_{d} \right)}{q_{n}.}}$

Joint ACFO (φ_(r)+φ_(d)) Estimation at the Destination In step 430, joint ACFO (φ_(r)+φ_(d)) estimation is performed at the destination for the Cyclic Prefix Scheme 2. The (N×1) received signal vectors at destination (without ACFO compensation at relay) can be written as follows:

$r_{D,{2n}} = {{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}{({\varphi_{d} + \varphi_{r}})}}{{Z_{N}\left( {\varphi_{d} + \varphi_{r}} \right)}\left\lbrack {{\alpha_{n}{\overset{˘}{H}}_{1,D}H_{S,1}W_{N}^{H}x_{2n}} + {\gamma_{n}{\overset{˘}{H}}_{2,D}{G_{S,2}\left( {W_{N}^{H}x_{{2n} + 1}} \right)}^{*}}} \right\rbrack}} + {\overset{\sim}{p}}_{D,{2n}}}$ ${r_{D,{{2n} + 1}} = {{^{{j{({{{({{2n} + 1})}{({N + P_{2}})}} + P_{2}})}}{({\varphi_{d} + \varphi_{r}})}}{{Z_{N}\left( {\varphi_{d} + \varphi_{r}} \right)}\left\lbrack {{\alpha_{n}^{j\; P_{1}\varphi_{r}}{\overset{˘}{H}}_{1,D}H_{S,1}W_{N}^{H}x_{{2n} + 1}} - {\gamma_{n}^{j\; P_{1}\varphi_{r}}{\overset{˘}{H}}_{2,D}{G_{S,2}\left( {W_{N}^{H}x_{2n}} \right)}^{*}}} \right\rbrack}} + {\overset{\sim}{p}}_{D,{{2n} + 1}}}},$

where {hacek over (H)}_(1,D) and {hacek over (H)}_(2,D) respectively are (N×N) circulant matrix with Z_(N)(−φ_(r))[h_(1,D) ^(T), 0_(1×(N-L) _(2)]) ^(T) and Z_(N)(−φ_(r)) [h_(2,D) ^(T), 0_(1×(N-L) ₂ )]^(T) as their first column vectors, and scalars α_(n) and γ_(n) are defined as follows:

α_(n) =e ^(j(2n+1)P) ¹ ^(φ) ^(r)

γ_(n) =e ^(−j((4n+2)(N+P)−2nP) ¹ ^(−1)φ) ^(r) .

It is defined that φ_(f)=φ_(d)+φ_(r). We have

$\begin{matrix} {q_{n} = \left\lbrack {r_{D,{2n}}^{T},r_{D,{{2n} + 1}}^{T}} \right\rbrack^{T}} \\ {{= {{{\overset{\sim}{F}\left( {\varphi_{f},\varphi_{r}} \right)}{\overset{\sim}{h}}_{F}} + e_{n}}},} \end{matrix}$

where the (2N×2(P+1)) matrix {tilde over (F)}(φ_(f),φ_(r)) is given by

${\overset{\sim}{F}\left( {\varphi_{f},\varphi_{r}} \right)} = {{\frac{^{{j{({{2{n{({N + P_{2}})}}} + P_{2}})}}\varphi_{f}}}{\sqrt{2}}\begin{bmatrix} {Z_{N}\left( \varphi_{f} \right)} & 0_{N \times N} \\ 0_{N \times N} & {^{{j{({N + P_{2}})}}\varphi_{j}}{Z_{N}\left( \varphi_{f} \right)}} \end{bmatrix}}{\quad\begin{bmatrix} {\alpha_{n}A} & {{- \gamma_{n}}C} \\ {{- \alpha_{n}}^{j\; P_{1}\varphi_{r}}A} & {{- \gamma_{n}}^{j\; P_{1}\varphi_{r}}C} \end{bmatrix}}}$

and {tilde over (h)}_(F) is a (2(P+1)×1) vector constructed as

{tilde over (h)}F=[({hacek over (h)} _(1,D) *h _(S,1))^(T),({hacek over (h)} _(2,D)*ζ(h _(S,2)*))^(T)]^(T)

with {hacek over (h)}_(1,D)=Z_(L) ₂ (−φ_(r))h_(1,D) and {hacek over (h)}_(2,D)=Z_(L) ₂ (−φ_(r))h_(2,D). It can be shown that

{tilde over (F)} ^(H)(φ_(f),φ_(r)){tilde over (F)}(φ_(f),φ_(r))=NI _(2(P+1)).

The Maximum Likelihood estimate for φ_(f) is obtained as

${\hat{\varphi}}_{f} = {\arg {\min\limits_{\varphi}\left( {{q_{n}^{H}\left\lbrack {I_{2N} - {\frac{1}{N}{\overset{\sim}{F}\left( {\varphi,\varphi_{r}} \right)}{{\overset{\sim}{F}}^{H}\left( {\varphi,\varphi_{r}} \right)}}} \right\rbrack}q_{n}} \right)}}$

and {tilde over (h)}_(F) is estimated as

$\overset{\hat{\sim}}{h} = {\frac{1}{N}{\overset{\sim}{F}\left( {{\hat{\varphi}}_{f},\varphi_{r}} \right)}{{\overset{\sim}{F}}^{H}\left( {{\hat{\varphi}}_{f},\varphi_{r}} \right)}{q_{n}.}}$

While example embodiments of the invention have been described in detail, many variations are possible within the scope of the invention as will be clear to a skilled reader. Variations can be made, for example to parameters such as the number of carriers, the cyclic prefix lengths P, P₁ and P₂, the coding technique used at the relay station, or the way in which the product channel is estimated. Variations can also be made to the design of the pilot symbols used. Further, the CP schemes need not necessary use space-time coding and other forms of coding may be used. 

1-15. (canceled)
 16. A method of estimating channel state information for a wireless communication channel comprising a source, a relay station having multiple antennae and a destination, the method comprising the steps of: a first of the antennae of the relay station receiving a first training signal from the source; a second of the antennae of the relay station receiving a second training signal from the source; the relay station: (i) encoding the first training signal and the second training signal with space-time encoding to form multiple Alamouti-coded relay training signals; and (ii) transmitting the multiple Alamouti-coded relay training signals in at least one symbol interval; and the destination receiving the relay training signals and from the Alamouti-coded relay training signals estimating the channel state information, wherein the Alamouti-coded relay training signals are also used for performing carrier frequency offset (CFO) compensation at the destination.
 17. A method of estimating channel state information for a wireless communication channel according to claim 16, further comprising the step of estimating a first carrier frequency offset (CFO) parameter at the relay station by combining the first training signal and the second training signal.
 18. A method of estimating channel state information for a wireless communication channel according to claim 17, wherein the combining the first training signal and the second training signal performs a conjugate transpose to the first training signal.
 19. A method of estimating channel state information for a wireless communication channel according to claim 16, wherein the first training signal comprises a first pilot signal, and the second training signal comprises a second pilot signal, the second pilot signal a negative of the first pilot signal.
 20. A method of estimating channel state information for a wireless communication channel according to claim 17, further comprising the step of receiving at a destination station a combined training signal, the combined training signal comprising the multiple relay training signals and a combined noise signal.
 21. A method of estimating channel state information for a wireless communication channel according to claim 20, wherein the combined noise signal comprises a second carrier frequency offset (CFO) estimated by the destination.
 22. A method of estimation channel state information for a wireless communication channel according to claim 21, wherein the second CFO is estimated by a maximum likelihood estimation.
 23. A method of estimating channel state information for a wireless communication channel according to claim 22, wherein the maximum likelihood estimation is a grid search.
 24. A method of estimation channel state information for a wireless communication channel according to claim 17, wherein the relay station is configured to perform a CFO compensation using the first CFO parameter.
 25. A method of estimation channel state information for a wireless communication channel according to claim 21, wherein the destination station is configured to perform a CFO compensation using the second CFO parameter.
 26. A method of estimation channel state information for a wireless communication channel according to claim 21, wherein the first CFO parameter estimated at the relay station is forwarded to the destination, the destination configured to perform a joint CFO compensation using the first CFO parameter and the second CFO parameter.
 27. A method of transmitting data along a wireless communication channel from a source to a destination via a relay station having multiple antenna, the method comprising: estimating channel information of the channel by a method according to claim
 16. transmitting along the wireless communication channel a message containing the data; and extracting the data from the message using the estimated channel information. 28-31. (canceled) 